package com.anysoft.utils;

import android.content.Context;
import android.util.Log;

import com.anysoft.StaticField;
import com.umeng.analytics.MobclickAgent;

/**
 * Created by lty on 2017/10/20.
 * 友盟统计工具类
 */
public class AnalyticsUtils {

    /**
     * 在Application中做的初始化
     *
     * @param context
     */
    public static void initAnalytics(Context context) {
        MobclickAgent.setDebugMode(true);//开启调试模式（如果不开启debug运行不会上传umeng统计）
        MobclickAgent.enableEncrypt(true); //设置日志加密(6.0版本之后这么写)
        MobclickAgent.openActivityDurationTrack(false);
        MobclickAgent.setScenarioType(context, MobclickAgent.EScenarioType.E_UM_NORMAL);
        MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(
                context, AppInfoUtils.getAppMetaData(context, "UMENG_APPKEY")
                , StaticField.getChannel(context)
        ));
        Log.e("MobclickAgent", "应用友盟appkey及应用渠道: UMENG_APPKEY="
                + AppInfoUtils.getAppMetaData(context, "UMENG_APPKEY")
                + ",UMENG_CHANNEL=" + AppInfoUtils.getAppMetaData(context, "UMENG_CHANNEL")
                + ",渠道" + StaticField.getChannel(context));
    }

    /**
     * 在BaseActivity跟BaseFragmentActivity中的onResume加入
     *
     * @param context
     */
    public static void onResumeToActivity(Context context) {
        MobclickAgent.onPageStart(context.getClass().getSimpleName());
        MobclickAgent.onResume(context);
        Log.e("MobclickAgent", "onResumeToActivity:获取焦点 " + context.getClass().getSimpleName());
    }

    /**
     * 在BaseActivity跟BaseFragmentActivity中的onPause加入
     *
     * @param context
     */
    public static void onPauseToActivity(Context context) {
        MobclickAgent.onPageEnd(context.getClass().getSimpleName());
        MobclickAgent.onPause(context);
        Log.e("MobclickAgent", "onPauseToActivity:失去焦点 " + context.getClass().getSimpleName());
    }

    /**
     * 在BaseFragment中的onResume加入
     *
     * @param context
     */
    public static void onResumeToFragment(Context context) {
        MobclickAgent.onPageStart(context.getClass().getSimpleName());
    }

    /**
     * 在BaseFragment中的onPause加入
     *
     * @param context
     */
    public static void onPauseToFragment(Context context) {
        MobclickAgent.onPageEnd(context.getClass().getSimpleName());
    }

    /**
     * 在登录成功的地方调用
     *
     * @param userId 用户id
     */
    public static void onAnalyticsLogin(String userId) {
        MobclickAgent.onProfileSignIn(userId);
    }

    /**
     * 在退出登录的地方调用
     */
    public static void onAnalyticsLogout() {
        MobclickAgent.onProfileSignOff();
    }
}
